home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / protocol / standard / ccitt / 1992 / x / x519.asc < prev    next >
Text File  |  1993-07-14  |  46KB  |  1,066 lines

  1.          The drawings contained in this Recommendation have been done in AUTOCAD
  2.          Recommendation X.519
  3.                            THE DIRECTORY - PROTOCOL SPECIFICATIONS 1)
  4.                                          (Melbourne, 1988)
  5.                                               CONTENTS
  6.          0      Introduction
  7.          1      Scope
  8.          2      References
  9.          3      Definitions
  10.                3.1 OSI Reference Model Definitions
  11.                3.2 Basic Directory Definitions
  12.                3.3 Distributed Operation Definitions
  13.          4      Abbreviations
  14.          5      Conventions
  15.          6      Protocol Overview
  16.                6.1 Directory Protocol Model
  17.                6.2 Directory Access Protocol
  18.                6.3 Directory System Protocol
  19.                6.4 Use of Underlying Services
  20.          7      Directory Protocol Abstract Syntax
  21.                7.1 Abstract Syntaxes
  22.                7.2 Directory Application Service Elements
  23.                7.3 Directory Application Contexts
  24.                7.4 Errors
  25.          8      Mapping onto Used Services
  26.                8.1 Mapping onto ACSE
  27.                8.2 Mapping onto ROSE
  28.          9      Conformance
  29.                9.1 Conformance by DUAs
  30.                9.2 Conformance by DSAs
  31.          Annex A - DAP in ASN.1
  32.          Annex B - DSP in ASN.1
  33.          Annex C - Reference Definition of Protocol Object Identifiers
  34.          0      Introduction
  35.          0.1    This document, together with the others of the series, has  been  produced
  36.          to facilitate the interconnection of information processing  systems  to  provide
  37.          directory services. The set of all such  systems,  together  with  the  directory
  38.          information which they hold, can be viewed as an  integrated  whole,  called  the
  39.          Directory. The information held by  the  Directory,  collectively  known  as  the
  40.          Directory Information Base (DIB), is typically used to  facilitate  communication
  41.          between, with or about objects such as application entities,  people,  terminals,
  42.          and distribution lists.
  43.          0.2    The Directory plays a significant role in  Open  Systems  Interconnection,
  44.          whose aim is to allow, with a minimum  of  technical  agreement  outside  of  the
  45.          interconnection  standards  themselves,  the   interconnection   of   information
  46.          processing systems:
  47.                -   from different manufacturers;
  48.                -   under different managements;
  49.                -   of different levels of complexity; and
  50.                -   of different ages.
  51.          0.3     This  Recommendation  specifies  the  application  service  elements  and
  52.          application contexts for two protocols - the Directory Access Protocol (DAP)  and
  53.          the Directory System Protocol (DSP). The DAP provides for access to the Directory
  54.          to retrieve or modify Directory information. The DSP provides for the chaining of
  55.          requests to retrieve or modify  Directory  information  to  other  parts  of  the
  56.          distributed Directory System where the information may be held.
  57.          1      Scope
  58.                This  Recommendation  specifies  the  Directory  Access  Protocol  and  the
  59.          Directory  System  Protocol,  fulfilling  the  abstract  services  specified   in
  60.          Recommendations X.511 and X.518.
  61.          2      References
  62.          Recommendation X.200 -  Open Systems Interconnection - Basic Reference Model
  63.          Recommendation X.208 -  Open Systems Interconnection - Specification of  Abstract
  64.  
  65.          1) Recomendation X.519 and ISO 9594-5, The   Directory  -  Protocol  Specifications,  were
  66.          developed in close collaboration and are       technically aligned
  67.  
  68.  
  69.  
  70.                                                       Fascicle VIII.8 - Rec. X.519   PAGE1
  71.  
  72.          Syntax Notation (ASN.1)
  73.          Recommendation X.209 -  Open Systems Interconnection  -  Specification  of  Basic
  74.          Encoding rules for Abstract Syntax                          Notation One (ASN.1)
  75.          Recommendation X.500 -   The  Directory  -  Overview  of   Concepts,  Models  and
  76.          Services
  77.          Recommendation X.501 -  The Directory - Information Framework
  78.          Recommendation X.511 -  The Directory - Abstract Service Definition
  79.          Recommendation X.518 -  The Directory - Procedures for Distributed Operation
  80.          Recommendation X.520 -  The Directory - Selected Attribute Types 
  81.          Recommendation X.521 -  The Directory - Selected Object Classes
  82.          Recommendation  X.219  -   Remote  Operations  -  Model,  Notation  and   Service
  83.          Definition
  84.          Recommendation X.229 -  Remote Operations - Protocol Specification
  85.          Recommendation X.217 -   Open  Systems  Interconnection  -  Association  Control:
  86.          Service Definition
  87.          Recommendation X.227 -   Open  Systems  Interconnection  -  Association  Control:
  88.          Protocol Specification
  89.          Recommendation X.216 -  Open Systems Interconnection - Presentation Layer Service
  90.          Definition.
  91.          3      Definitions
  92.                The definitions contained in this paragraph make use of  the  abbreviations
  93.          defined in  4.
  94.          3.1    OSI Reference Model definitions
  95.                This   Recommendation   is   based   on   the   concepts    developed    in
  96.          Recommendation X.200 and makes use of the following terms defined therein:
  97.                a)  application-service-element;
  98.                b)  application-protocol-control-information;
  99.                c)  application-control-data-unit;
  100.                d)  application-context;
  101.                e)  application-entity;
  102.                f)  abstract-syntax.
  103.          3.2    Basic Directory definitions
  104.                This  Recommendation  makes  use  of  the  following   terms   defined   in
  105.          Recommendation X.501:
  106.                a)  the Directory;
  107.                b)  (Directory) user;
  108.                c)  Directory System Agent (DSA);
  109.                d)  Directory User Agent (DUA).
  110.          3.3    Distributed Operation definitions
  111.                This  Recommendation  makes  use  of  the  following   terms   defined   in
  112.          Recommendation X.518:
  113.                a)  chaining;
  114.                b)  referral.
  115.          4      Abbreviations
  116.                The following abbreviations are used in this Recommendation:
  117.                AC      Application Context
  118.                ACSE   Association Control Service Element
  119.                AE      Application Entity
  120.                APCI   Application Protocol Control Information
  121.                APDU   Application Protocol Data Unit
  122.                ASE     Application Service Element
  123.                DAP Directory Access Protocol
  124.                DSA Directory System Agent
  125.                DSP     Directory System Protocol
  126.                DUA Directory User Agent
  127.                ROSE   Remote Operations Service Element.
  128.          5      Conventions
  129.                The Recommendation makes use of the following conventions:
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.          PAGE14  Fascicle VIII.8 - Rec. X.519
  142.  
  143.                a)  the abstract syntax definitions in  7 are defined using  the  abstract
  144.                   syntax notation defined in Recommendation X.208;
  145.                b)  the remote operation macros (RO-notation), and the application-service
  146.                   element and application-context macros are  defined  in  Recommendation
  147.                   X.219;
  148.                c)  the words of defined  terms  and  the  names  and  values  of  service
  149.                   parameters and protocol fields, unless they  are  proper  names,  begin
  150.                   with a lower-case letter and are linked by a hyphen thus: defined-term.
  151.                   Proper names begin with an upper case letter and are not  linked  by  a
  152.                   hyphen thus: Proper Name.
  153.          6      Protocol Overview
  154.          6.1    Directory Protocol Model
  155.                Recommendation X.511 defines the abstract service between  a  DUA  and  the
  156.          Directory to support a  user  accessing  Directory  services.  The  Directory  is
  157.          further modelled as being represented by a  DSA  which  supports  the  particular
  158.          access point concerned. Recommendation X.518 defines the interactions  between  a
  159.          pair of DSAs within the Directory to support user  requests  which  are  chained.
  160.          These concepts are illustrated in Figure 1/X.519.
  161.                                         FIGURE 1/X.519 - T0704650-88
  162.  
  163.                When a DUA is in a different open system  from  a  DSA  with  which  it  is
  164.          interacting, these interactions are supported by the  Directory  Access  Protocol
  165.          (DAP), which is an OSI application layer protocol. Similarly, when a pair of DSAs
  166.          which are interacting  are  in  different  open  systems,  the  interactions  are
  167.          supported  by  the  Directory  System  Protocol  (DSP),  which  is  also  in  the
  168.          application layer.
  169.                Both the DAP and the DSP are protocols to provide communication  between  a
  170.          pair of application processes. In the OSI  environment  this  is  represented  as
  171.          communication  between  a  pair  of  application-  entities   (AEs)   using   the
  172.          presentation service. The function of an AE is provided by a set  f  application-
  173.          service-elements (ASEs). The interaction between AEs is  described  in  terms  of
  174.          their use of the services provided by the ASEs. The two ASEs common  to  both  of
  175.          the directory protocols are summarized in this paragraph.
  176.                The Remote Operations Service Element  (ROSE)  supports  the  request/reply
  177.          paradigm of the abstract operation that occurs  at  the  ports  in  the  abstract
  178.          model. The Directory ASEs provide the mapping  function  of  the  abstract-syntax
  179.          notation of the directory abstract-service onto  the  services  provided  by  the
  180.          ROSE.
  181.                The Association Control Service Element (ACSE) supports  the  establishment
  182.          and release of an application-association between a  pair  of  AEs.  Associations
  183.          between a DUA and a DSA may be established only by the DUA. Only the initiator of
  184.          an established association can release it.
  185.          6.2    Directory Access Protocol
  186.                The Directory Access Protocol  (DAP)  is  used  to  realise  the  Directory
  187.          Abstract Service.  It comprises three directory specific ASEs in addition to ROSE
  188.          and ACSE. These are: readASE, searchASE, and modifyASE. They  correspond  to  the
  189.          readPort,   searchPort,   and   modifyPort   of   the   abstract   service.   The
  190.          directoryAccessAC application context identifies  the  combination  of:  readASE,
  191.          searchASE, and modifyASE, aCSE, rOSE.
  192.          6.3    Directory System Protocol
  193.                The Directory System Protocol (DSP) is used to  realise  the  functionality
  194.          of distributed operation described in Recommendation X.518.  It  comprises  three
  195.          directory specific ASEs in addition to ROSE and ACSE. These are:  chainedReadASE,
  196.          chainedSearchASE, and chainedModifyASE. They correspond to  the  chainedReadPort,
  197.          chainedSearchPort,  and  chainedModifyPort   of   the   abstract   service.   The
  198.          directorySystemAC   application   context   identifies   the   combination    of:
  199.          chainedReadASE, chainedSearchASE, and chainedModifyASE, aCSE, rOSE.
  200.          6.4    Use of Underlying Services
  201.                The DAP and DSP protocols make use  of  underlying  services  as  described
  202.          below.
  203.          6.4.1  Use of ROSE services
  204.                The   Remote   Operations   Service   Element   (ROSE)   is   defined    in
  205.          Recommendation X.219.
  206.                The ROSE supports the request/reply paradigm of remote operations.
  207.                The Directory ASEs are users of t e  RO-INVOKE,  RO-RESULT,  RO-ERROR,  RO-
  208.  
  209.  
  210.  
  211.  
  212.                                                       Fascicle VIII.8 - Rec. X.519   PAGE1
  213.  
  214.          REJECT-U and            RO-REJECT-P services of the ROSE.
  215.                The remote operations of the DAP and the DSP  are  Class  2  (asynchronous)
  216.          operations.  Note that as the DUA is a consumer of  the  DAP  it  may  choose  to
  217.          operate in a synchronous manner.
  218.                DAP uses Association Class  1.  This  means  that  the  DSA  cannot  invoke
  219.          operations on the DUA.  DSP  uses  Association  Class  3.  This  means  that  the
  220.          responding DSA can invoke operations on the initiating DSA and vice versa.
  221.          6.4.2  Use of ACSE services
  222.                The  Association   Control   Service   Element   (ACSE)   is   defined   in
  223.          Recommendation X.217.
  224.                The ACSE provides  for  the  control  (establishment,  release,  abort)  of
  225.          application-associations between AEs.
  226.                The Directory Bind and Directory Unbind (or DSA Bind and DSA  Unbind)   are
  227.          the sole users of the A-ASSOCIATE and A-RELEASE services of the  ACSE  in  normal
  228.          mode.  The application-process is the user of the A-ABORT and A-P-ABORT  services
  229.          of the ACSE.
  230.          6.4.3  Use of the Presentation Service
  231.                The presentation-service is defined in Recommendation X.216.
  232.                The Presentation Layer  coordinates  the  representation  (syntax)  of  the
  233.          Application Layer semantics that are to be exchanged.
  234.                In normal mode, a different presentation-context is used for each abstract 
  235.          syntax included in the application-context.
  236.                The ACSE is the sole user of the P-CONNECT, P-RELEASE, P-U-ABORT and   P-P 
  237.          ABORT services of the presentation-service.
  238.                The ROSE is a user of the P-DATA service of the presentation-service.
  239.          6.4.4  Use of Lower Layer Services
  240.                The session-service is defined in Recommendation X.215. The  Session  Layer
  241.          structures the dialogue of the flow of information between the end-systems.
  242.                The Kernel and Duplex functional units of the session-service are  used  by
  243.          the Presentation Layer.
  244.                The transport-service is defined in  Recommendation  X.214.  The  Transport
  245.          Layer  provides  for  the  end-to-end  transparent  transfer  of  data  over  the
  246.          underlying network connection.
  247.                The choice of the class of transport-service  used  by  the  Session  Layer
  248.          depends on the requirements for multiplexing  and  error  recovery.  Support  for
  249.          Transport Class 0 (non-multiplexing)  is mandatory. Transport  Expedited  Service
  250.          is not used.
  251.                Support for other classes is optional. A multiplexing class may be used  to
  252.          multiplex the DAP or DSP and other protocols over the same network connection. An
  253.          error recovery class may be chosen over a network connection with an unacceptable
  254.          residual error rate.
  255.                An  underlying  network  supporting  the  OSI  network-service  defined  in
  256.          Recommendation X.213 is assumed.
  257.                A   network-address   is    as    defined    in    Recommendation    X.121,
  258.          Recommendations E.163/E.164, or Recommendation X.200 (OSI NSAP-address).
  259.          7      Directory Protocol Abstract Syntax
  260.          7.1    Abstract Syntaxes
  261.                The Directory ASEs specified in  7.2.1, 7.2.3  and  7.2.5  share  a  single
  262.          abstract syntax, id- as-directory-AccessAS. Those specified in  7.2.2, 7.2.4  and
  263.          7.2.6 also share a single abstract syntax id-as-directorySystemAS. In each  case,
  264.          this defines application-protocol-control-information (APCI)  which, when used in
  265.          conjunction with the ROSE, defines a  set  of  APDUs.  The  Directory  APDUs  are
  266.          defined by the abstract-syntax of the Directory ASEs and  ROSE.  These  plus  the
  267.          abstract-syntax of ACSE form the complete  definition  of  APDUs  used  during  a
  268.          Directory association.
  269.                The  ACSE  abstract-syntax  id-as-acse   is   needed   to   establish   the
  270.          associations.
  271.                These abstract syntaxes shall (as a minimum) be encoded  according  to  the
  272.          ASN.1 Basic Encoding Rules.
  273.          7.2    Directory Application Service Elements
  274.                This paragraph specifies the ASEs which are used as  "building  blocks"  in
  275.          the construction of the various Directory application contexts in  7.3.
  276.                Note - These  ASEs  are  used  for  the  construction  of  the  application
  277.          contexts defined in this Recommendation. They  are  not  intended  to  allow  for
  278.          claims of conformance to individual, or other combinations of, ASEs.
  279.  
  280.  
  281.  
  282.  
  283.          PAGE14  Fascicle VIII.8 - Rec. X.519
  284.  
  285.          7.2.1  Read ASE
  286.                The readASE supports the abstract-operations of the readPort, namely  Read,
  287.          Compare, and Abandon, as defined in Recommendation X.511.
  288.                readASE
  289.                   APPLICATION-SERVICE-ELEMENT
  290.                       CONSUMER INVOKES
  291.                            {read, compare, abandon}
  292.                   ::= id-ase-readASE
  293.                read       Read    ::= 1
  294.                compare     Compare     ::= 2
  295.                abandon     Abandon     ::= 3
  296.          7.2.2  Chained Read ASE
  297.                The chainedReadASE supports the abstract-operation of the  ChainedReadPort,
  298.          i.e.   ChainedRead,   ChainedCompare   and   ChainedAbandon,   as   defined    in
  299.          Recommendation X.518.
  300.                chainedReadASE
  301.                   APPLICATION-SERVICE-ELEMENT
  302.                       OPERATIONS {
  303.                            chainedRead,
  304.                            chainedCompare
  305.                            chainedAbandon}
  306.                   ::= id-ase-chainedReadASE
  307.                chainedRead             ChainedRead       ::= 1
  308.                chainedCompare    ChainedCompare    ::= 2
  309.                chainedAbandon    ChainedAbandon    ::= 3
  310.          7.2.3  Search ASE
  311.                The searchASE supports the abstract-operations of  the  SearchPort,  namely
  312.          List and Search, as defined in Recommendation X.511.
  313.                searchASE
  314.                   APPLICATION-SERVICE-ELEMENT
  315.                       CONSUMER INVOKES { list, search}
  316.                   ::= id-ase-searchASE}
  317.                list       List                ::= 4
  318.                search Search     ::= 5
  319.          7.2.4  Chained Search ASE
  320.                The   chainedSearchASE   supports   the    abstract-operations    of    the
  321.          ChainedSearchPort,  namely  ChainedList  and   ChainedSearch,   as   defined   in
  322.          Recommendation X.518.
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.                                                       Fascicle VIII.8 - Rec. X.519   PAGE1
  355.  
  356.                   chainedSearchASE
  357.                   APPLICATION-SERVICE-ELEMENT
  358.                       OPERATIONS {
  359.                            chainedList, chainedSearch}
  360.                   ::=   id-ase-chainedSearchASE
  361.                chainedList             ChainedList       ::= 4
  362.                chainedSearch           ChainedSearch           ::= 5
  363.          7.2.5  Modify ASE
  364.                The modifyASE supports the abstract-operations of  the  ModifyPort,  namely
  365.          AddEntry,   RemoveEntry,   ModifyEntry,   and   ModifyRDN,    as    defined    in
  366.          Recommendation X.511.
  367.                modifyASE
  368.                   APPLICATION-SERVICE-ELEMENT
  369.                       CONSUMER INVOKES
  370.                            {addEntry, removeEntry,
  371.                            modifyEntry, modifyRDN}
  372.                   ::=    id-ase-modifyASE
  373.                addEntry    AddEntry    ::= 6
  374.                removeEntry       RemoveEntry ::= 7
  375.                modifyEntry       ModifyEntry ::= 8
  376.                modifyRDN   ModifyRDN   ::= 9
  377.          7.2.6  Chained Modify ASE
  378.                The   chainedModifyASE   supports   the    abstract-operations    of    the
  379.          ChainedModifyPort, namely ChainedAddEntry, ChainedRemoveEntry, ChainedModifyEntry
  380.          and ChainedModifyRDN, as defined in Recommendation X.518.
  381.                chainedModifyASE
  382.                   APPLICATION-SERVICE-ELEMENT
  383.                       OPERATIONS
  384.                            {chainedAddEntry,
  385.                             chainedRemoveEntry,
  386.                             chainedModifyEntry,
  387.                             chainedModifyRDN}
  388.                   ::= id-ase-chainedModifyASE
  389.                chainedAddEntry   ChainedAddEntry   ::= 6
  390.                chainedRemoveEntry      ChainedRemoveEntry      ::= 7
  391.                chainedModifyEntry      ChainedModifyEntry      ::= 8
  392.                chainedModifyRDN  ChainedModifyRDN  ::= 9
  393.          7.3    Directory Application Contexts
  394.          7.3.1  Directory Access Application Context
  395.                The directoryAccessAC allows the  DUA  to  access  the  operations  of  the
  396.          following ASEs: readASE, searchASE, modifyASE.
  397.                directoryAccessAC
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.          PAGE14  Fascicle VIII.8 - Rec. X.519
  426.  
  427.                   APPLICATION-CONTEXT
  428.                       APPLICATION SERVICE ELEMENTS
  429.                            {aCSE}
  430.                       BIND DirectoryBind
  431.                       UNBIND DirectoryUnbind
  432.                       REMOTE OPERATIONS {rOSE}
  433.                       INITIATOR CONSUMER OF {
  434.                            readASE,
  435.                            searchASE,
  436.                            modifyASE}
  437.                       ABSTRACT SYNTAXES {
  438.                            id-as-acse,
  439.                            id-as-directoryAccessAS}
  440.                   ::= id-ac-directoryAccessAC
  441.          7.3.2  Directory System Application Context
  442.                The directorySystemAC  allows  DSAs  to  communicate  for  the  purpose  of
  443.          chaining operations.
  444.                directorySystemAC
  445.                   APPLICATION-CONTEXT
  446.                       APPLICATION SERVICE ELEMENTS
  447.                            {aCSE}
  448.                       BIND DSABind
  449.                       UNBIND DSAUnbind
  450.                       REMOTE OPERATIONS {rOSE}
  451.                       OPERATIONS OF
  452.                            {chainedReadASE,
  453.                            chainedSearchASE,
  454.                            chainedModifyASE}
  455.                       ABSTRACT SYNTAXES {
  456.                            id-as-acse,
  457.                            id-as-directorySystemAS}
  458.                ::=     id-ac-directorySystemAC
  459.          7.4    Errors
  460.                Corresponding to each abstract-error defined in the Abstract Service is  an
  461.          error value which may be conveyed by the protocol. The assignments follow:
  462.                abandoned         Abandoned   ::= 5
  463.                attributeError          AttributeError    ::= 1
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.                                                       Fascicle VIII.8 - Rec. X.519   PAGE1
  497.  
  498.                nameError         NameError   ::= 2
  499.                referral                Referral    ::= 4
  500.                securityError           SecurityError     ::= 6
  501.                serviceError                  ServiceError      ::= 3
  502.                updateError             UpdateError ::= 8
  503.                dSAReferral             DSAReferral ::= 9
  504.                abandonFailed           AbandonFailed     ::= 7
  505.          8      Mapping onto Used Services
  506.                This paragraph defines the mapping  of  the  DAP  and  DSP  onto  the  used
  507.          services.
  508.          8.1    Mapping onto ACSE
  509.                This paragraph defines the mapping of the abstract-bind  (DirectoryBind  or
  510.          DSABind) and abstract-unbind (DirectoryUnbind or  DSAUnbind)  services  onto  the
  511.          services of the ACSE. The ACSE is defined in Recommendation X.217.
  512.          8.1.1  Abstract-bind onto A-ASSOCIATE
  513.                The abstract-bind service is mapped onto the  A-ASSOCIATE  service  of  the
  514.          ACSE. The use of the parameters of the A-ASSOCIATE service is  qualified  in  the
  515.          following subparagraphs.
  516.          8.1.1.1  Mode
  517.                This parameter shall be supplied by the initiator  of  the  association  in
  518.          the A-ASSOCIATE request primitive, and shall have the value "normal mode".
  519.          8.1.1.2  Application Context Name
  520.                The   initiator   of   the   association   shall   propose    either    the
  521.          directoryAccessAC or the directorySystemAC application-context.
  522.          8.1.1.3  User information
  523.                The mapping of the bind-operation of the  abstract-bind  service  onto  the
  524.          User Information parameters of the A-ASSOCIATE request primitive  is  defined  in
  525.          Recommendation X.219.
  526.          8.1.1.4  Presentation Context Definition List
  527.                The initiator of the association  shall  supply  the  Presentation  Context
  528.          Definition List in the A-ASSOCIATE request primitive which shall contain the ACSE
  529.          abstract-syntax    (id-as-acse)    and    either    the    DAP    abstract-syntax
  530.          (id-as-directoryAccessAS) or the DSP abstract-syntax (id-as- directorySystemAS).
  531.          8.1.1.5  Quality of service
  532.                This parameter shall be supplied by the initiator  of  the  association  in
  533.          the A-ASSOCIATE request primitive, and by the responder of the association in the
  534.          A-ASSOCIATE response primitive. The parameters "Extended Control" and  "Optimized
  535.          Dialogue  Transfer"  shall  be  set  to  "feature  not  desired".  The  remaining
  536.          parameters shall be such that default values are used.
  537.          8.1.1.6  Session requirements
  538.                This parameter shall be set by the initiator of the association  n  the  A-
  539.          ASSOCIATE request primitive, and by the responder of the associati n  in  the  A-
  540.          ASSOCIATE response primitive. The parameter shall be set to specify the following
  541.          functional units:
  542.                a)  Kernel;
  543.                b)  Duplex.
  544.          8.1.1.7  Application Entity Title and Presentation Address
  545.                These parameters shall be supplied by the initiator and  the  responder  of
  546.          the association (Application Entity Title is  optionally  supplied).  For  a  DUA
  547.          establishing an association for an initial request, these parameters are obtained
  548.          from locally held information.
  549.                For a DUA (or DSA) establishing an association with a DSA to which  it  has
  550.          been referred, these parameters are obtained from  the  AccessPoint  value  of  a
  551.          ContinuationReference. For a DSA establishing an association, this  parameter  is
  552.          obtained from its Knowledge Information, i.e. an external reference.
  553.          8.1.2  Abstract-unbind onto A-RELEASE
  554.                The abstract-unbind service is mapped onto the  A-RELEASE  service  of  the
  555.          ACSE. The use of the parameters of the A-RELEASE  service  is  qualified  in  the
  556.          following subparagraph.
  557.          8.1.2.1  Result
  558.                This parameter shall have the value "affirmative".
  559.          8.1.3  Use of A-ABORT and A-P-ABORT services
  560.                The application-process is the user of the A-ABORT and  A-P-ABORT  services
  561.          of the ACSE.
  562.          8.2    Mapping onto ROSE
  563.  
  564.  
  565.  
  566.  
  567.          PAGE14  Fascicle VIII.8 - Rec. X.519
  568.  
  569.                The Directory ASE services are mapped onto t e  RO-INVOKE,  RO-RESULT,  RO-
  570.          ERROR, RO-REJECT-U and RO-REJECT-P services of  the  ROSE.  The  mapping  of  the
  571.          abstract-syntax notation of the Directory ASEs  onto  the  ROSE  services  is  as
  572.          defined in Recommendation X.219.
  573.          9      Conformance
  574.                This  paragraph  defines  the  requirements   for   conformance   to   this
  575.          Recommendation.
  576.          9.1    Conformance by DUAs
  577.                A DUA implementation claiming  conformance  to  this  Recommendation  shall
  578.          satisfy the requirements specified in  9.1.1 to 9.1.3.
  579.          9.1.1  Statement requirements
  580.                The following shall be stated:
  581.                a)  the operations of the directoryAccessAC application-context  that  the
  582.                   DUA is capable of invoking for which conformance is claimed; and
  583.                b)  the security-level(s) for which conformance is claimed (none,  simple,
  584.                   strong).
  585.          9.1.2  Static requirements
  586.                A DUA shall:
  587.                a)  have the capability of supporting t e  directoryAccessAC  application-
  588.                   context as defined by its abstract syntax in  7.
  589.          9.1.3  Dynamic requirements
  590.                A DUA shall:
  591.                a)  conform to the mapping onto used services defined in  8.
  592.          9.2    Conformance by DSAs
  593.                A DSA implementation claiming  conformance  to  this  Recommendation  shall
  594.          satisfy the requirements specified in  9.2.1 to 9.2.3.
  595.          9.2.1  Statement requirements
  596.                The following shall be stated:
  597.                a)   the  application-contexts   for   which   conformance   is   claimed:
  598.                   directoryAccessAC, directorySystemAC, or both. If a DSA  is  such  that
  599.                   knowledge of it has been disseminated causing knowledge  references  to
  600.                   the DSA to be held by other DSA(s) outside of  its  own  DMD,  then  it
  601.                   shall claim conformance to the directorySystemAC;
  602.                   Note - An application context shall not be divided,  except  as  stated
  603.                   herein: in particular, conformance may not  be  claimed  to  particular
  604.                   ports or operations.
  605.                b)  whether or not the DSA is capable of acting as a first-level  DSA,  as
  606.                   defined in Recommendation X.518;
  607.                c)  if conformance is claimed to the directorySystemAC application-context, 
  608.                   whether or not the chained mode of operation is supported,  as  defined
  609.                   in Recommendation X.518;
  610.                d)  the security-level(s) for which conformance is claimed (none,  simple,
  611.                   strong);
  612.                e)  the selected attribute types defined in Recommendation X.520  and  any
  613.                   other attribute types, for which conformance is claimed; and
  614.                f)  the selected object classes defined in Recommendation  X.521  and  any
  615.                   other object classes, for which conformance is claimed.
  616.          9.2.2  Static requirements
  617.                A DSA shall:
  618.                a)  have the capability of supporting the application-contexts  for  which
  619.                   conformance is claimed as defined by their abstract syntax in  7;
  620.                b)  have the capability of supporting the information framework defined by
  621.                   its abstract syntax in Recommendation X.501;
  622.                c)   conform  to   the   minimal   knowledge   requirements   defined   in
  623.                   Recommendation X.518;
  624.                d)  if conformance is  claimed  as  a  first-level  DSA,  conform  to  the
  625.                   requirements  for  support  of  the  root  context,   as   defined   in
  626.                   Recommendation X.518;
  627.                e)  have the capability  of  supporting  the  attribute  types  for  which
  628.                   conformance is claimed as defined by their abstract syntaxes; and
  629.                f)  have the  capability  of  supporting  the  object  classes  for  which
  630.                   conformance is claimed, as defined by their abstract syntaxes.
  631.          9.2.3  Dynamic requirements
  632.                A DSA shall:
  633.                a)  conform to the mapping onto  used  services  defined  in   8  of  this
  634.  
  635.  
  636.  
  637.  
  638.                                                       Fascicle VIII.8 - Rec. X.519   PAGE1
  639.  
  640.                Recommendation;
  641.                b)  conform to the procedures for distributed operation of  the  Directory
  642.                   related to referrals, as defined in Recommendation X.518;
  643.                c)  if conformance is claimed to the directoryAccessAC application-context, 
  644.                   conform to the procedures of Recommendation X.518 as they relate to the
  645.                   referral mode of the DAP;
  646.                d)  if conformance is claimed to the directorySystemAC application-context, 
  647.                   conform  to  the  referral  mode  of   interaction,   as   defined   in
  648.                   Recommendation X.518;
  649.                e)  if conformance is claimed to the chained mode of interaction,  conform
  650.                   to the chained mode of interaction, as defined in Recommendation X.518.
  651.                   Note - Only in this case is it necessary for a DSA  to  be  capable  of
  652.                   invoking operations using the directorySystemAC.
  653.                                                    ANNEX A
  654.                                      (to Recommendation X.519)
  655.                                             DAP in ASN.1
  656.                This Annex is part of the Recommendation.
  657.                This Annex includes all of the ASN.1 type and value  definitions  contained
  658.          in this Recommendation in the form of the ASN.1 module, DirectoryAccessProtocol.
  659.                DirectoryAccessProtocol {joint-iso-ccitt ds(5) modules(1) dap(11)}
  660.                DEFINITIONS ::=
  661.                BEGIN
  662.                EXPORTS
  663.                   directoryAccessAC, readASE, searchASE, modifyASE;
  664.                IMPORTS
  665.                   abstractService
  666.                   FROM     UsefulDefinitions
  667.                            {joint-iso-ccitt ds(5) modules(1) usefulDefinitions(0)}
  668.                   APPLICATION-SERVICE-ELEMENT, APPLICATION-CONTEXT, aCSE
  669.                   FROM     Remote-Operations-Notation-extension
  670.                            {joint-iso-ccitt remoteOperations(4) notation-extension(2)}  
  671.                   id-ac-directoryAccessAC, id-ase-readASE, id-ase-searchASE,
  672.                   id-ase-modifyASE, id-as-directoryAccessAS, id-as-acse
  673.                   FROM     ProtocolObjectIdentifiers
  674.                            {joint-iso-ccitt  ds(5) modules(1)
  675.                            protocolObjectIdentifiers(4)}
  676.                   DirectoryBind, DirectoryUnbind, Read, Compare, Abandon, List,
  677.                   Search,  AddEntry,  RemoveEntry,  ModifyEntry,  ModifyRDN,   Abandoned,
  678.                   AbandonFailed,  AttributeError,  NameError,  Referral,   SecurityError,
  679.                   ServiceError,
  680.                   UpdateError
  681.                   FROM     DirectoryAbstractService
  682.                            directoryAbstractService;
  683.                -- Application Contexts --
  684.                directoryAccessAC
  685.                   APPLICATION-CONTEXT
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.          PAGE14  Fascicle VIII.8 - Rec. X.519
  710.  
  711.                       APPLICATION SERVICE ELEMENTS {aCSE}
  712.                       BIND DirectoryBind
  713.                   UNBIND DirectoryUnbind
  714.                       REMOTE OPERATIONS {rOSE}
  715.                          INITIATOR CONSUMER OF {readASE, searchASE, modifyASE}
  716.                       ABSTRACT SYNTAXES {
  717.                          id-as-acse, id-as-directoryAccessAS}
  718.                    ::=   id-ac-directoryAccessAC
  719.                --  Read ASE --
  720.                readASE
  721.                   APPLICATION-SERVICE-ELEMENT
  722.                       CONSUMER INVOKES {read, compare, abandon}
  723.                   ::= id-ase-readASE
  724.                -- Search ASE --
  725.                searchASE
  726.                   APPLICATION-SERVICE-ELEMENT
  727.                       CONSUMER INVOKES {list, search}
  728.                   ::= id-ase-searchASE
  729.                -- Modify ASE --
  730.                modifyASE
  731.                   APPLICATION-SERVICE-ELEMENT
  732.                       CONSUMER INVOKES
  733.                            {addEntry, removeEntry,
  734.                             modifyEntry, modifyRDN}
  735.                       ::= id-ase-modifyASE
  736.                -- Remote Operations --
  737.                read               Read              ::= 1
  738.                compare                 Compare           ::= 2
  739.                abandon                 Abandon           ::= 3
  740.                list                     List              ::= 4
  741.                search             Search                  ::= 5
  742.                addEntry          AddEntry          ::= 6
  743.                removeEntry             RemoveEntry       ::= 7
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.                                                       Fascicle VIII.8 - Rec. X.519   PAGE1
  781.  
  782.                modifyEntry             ModifyEntry       ::= 8
  783.                modifyRDN         ModifyRDN         ::= 9
  784.                -- Remote Errors -- 
  785.                attributeError          AttributeError          ::= 1
  786.                nameError         NameError         ::= 2
  787.                serviceError                  ServiceError            ::= 3
  788.                referral                Referral          ::= 4
  789.                abandoned         Abandoned         ::= 5
  790.                securityError           SecurityError           ::= 6
  791.                abandonFailed           AbandonFailed           ::= 7
  792.                updateError             UpdateError       ::= 8
  793.                END
  794.                                                    ANNEX B
  795.                                      (to Recommendation X.519)
  796.                                             DSP in ASN.1
  797.                This Annex is part of the Recommendation.
  798.                This Annex includes all of the ASN.1 type and value  definitions  contained
  799.          in this Recommendation in the form of the ASN.1 module, DirectorySystemProtocol.
  800.                DirectorySystemProtocol {joint-iso-ccitt ds(5) modules(1) dsp(12)}
  801.                DEFINITIONS ::=
  802.                BEGIN
  803.                EXPORTS
  804.                   directorySystemAC, chainedReadASE, chainedSearchASE, chainedModifyASE;
  805.                IMPORTS
  806.                   distributedOperations, directoryAbstractService
  807.                   FROM     UsefulDefinitions
  808.                            {joint-iso-ccitt ds(5) modules(1) usefulDefinitions(0)}
  809.                APPLICATION-SERVICE-ELEMENT, APPLICATION-CONTEXT, aCSE
  810.                   FROM     Remote-Operations-Notation-extension
  811.                            {joint-iso-ccitt remoteOperations(4) notation-extension(2)}   
  812.                   id-ac-directorySystemAC, id-ase-chainedReadASE,
  813.                   id-ase-chainedSearchASE, id-ase-chainedModifyASE, 
  814.                   id-as-directorySystemAS, id-as-acse;
  815.                   FROM     ProtocolObjectIdentifiers
  816.                            {joint-iso-ccitt  ds(5) modules(1)
  817.                            protocolObjectIdentifiers(4)}
  818.                   Abandoned, AttributeError, AbandonFailed,
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.          PAGE14  Fascicle VIII.8 - Rec. X.519
  852.  
  853.                   NameError, DSAReferral, SecurityError, ServiceError, UpdateError
  854.                   FROM     DirectoryAbstractService directoryAbstractService
  855.                   DSABind, DSAUnbind,
  856.                   ChainedRead, ChainedCompare, ChainedAbandon,
  857.                   ChainedList, ChainedSearch,
  858.                   ChainedAddEntry, ChainedRemoveEntry, ChainedModifyEntry,
  859.                   ChainedModifyRDN, DSAReferral,
  860.                   FROM     DistributedOperations
  861.                            distributedOperations;
  862.                   -- Application Contexts --
  863.                directorySystemAC
  864.                   APPLICATION-CONTEXT
  865.                       APPLICATION SERVICE ELEMENTS {aCSE}
  866.                       BIND DSABind
  867.                       UNBIND DSAUnbind
  868.                       REMOTE OPERATIONS {rOSE}
  869.                          OPERATIONS OF {
  870.                                  chainedReadASE, chainedSearchASE, chainedModifyASE}
  871.                   ABSTRACT SYNTAXES {
  872.                            id-as-acse, id-as-directorySystemAS}
  873.                   ::= {id-ac-directorySystemAC}
  874.                   -- Chained Read ASE --
  875.                chainedReadASE
  876.                   APPLICATION-SERVICE-ELEMENT
  877.                       OPERATIONS       {chainedRead, chainedCompare, chainedAbandon}
  878.                ::= id-ase-chainedReadASE
  879.                -- Chained Search ASE --
  880.                chainedSearchASE
  881.                   APPLICATION-SERVICE-ELEMENT
  882.                       OPERATIONS {chainedList, chainedSearch}
  883.                   ::= id-ase-chainedSearchASE
  884.                -- Chained Modify ASE --
  885.                chainedModifyASE
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.                                                       Fascicle VIII.8 - Rec. X.519   PAGE1
  923.  
  924.                   APPLICATION-SERVICE-ELEMENT
  925.                       OPERATIONS
  926.                            {chainedAddEntry, chainedRemoveEntry,
  927.                            chainedModifyEntry, chainedModifyRDN}
  928.                   ::= id-ase-chainedModifyASE
  929.                -- Remote Operations --
  930.                chainedRead                   ChainedRead             ::= 1
  931.                chainedCompare          ChainedCompare          ::= 2
  932.                chainedAbandon          ChainedAbandon          ::= 3
  933.                chainedlist                   ChainedList             ::= 4
  934.                chainedSearch                 ChainedSearch                 ::= 5
  935.                chainedAddEntry         ChainedAddEntry         ::= 6
  936.                chainedRemoveEntry            ChainedRemoveEntry            ::= 7
  937.                chainedModifyEntry            ChainedModifyEntry            ::= 8
  938.                chainedModifyRDN        ChainedModifyRDN        ::= 9
  939.                -- Remote Errors --
  940.                attributeError                AttributeError                ::= 1
  941.                nameError               NameError               ::= 2
  942.                serviceError                        ServiceError                  ::= 3
  943.                abandoned               Abandoned               ::= 5
  944.                securityError                 SecurityError                 ::= 6
  945.                abandonFailed                 AbandonFailed                 ::= 7
  946.                updateError                   UpdateError             ::= 8
  947.                dsaReferral                   DSAReferral             ::= 9
  948.                END
  949.                                                    ANNEX C
  950.                                      (to Recommendation X.519)
  951.                         Reference definition of protocol object identifiers
  952.                This Annex is part of the Recommendation.
  953.                This Annex includes all of the ASN.1 Object Identifiers  assigned  in  this
  954.          Recommendation in the form of ASN.1 module, ProtocolObjectIdentifiers.
  955.                ProtocolObjectIdentifiers      {joint-iso-ccitt      ds(5)      modules(1)
  956.                   protocolObjectIdentifiers(4)} 
  957.                DEFINITIONS ::=
  958.                BEGIN
  959.                EXPORTS
  960.                   id-ac-directoryAccessAC, id-ac-directorySystemA ,  id-ase-readASE,  id-
  961.                       ase-searchASE,
  962.                   id-ase-modifyASE, id-ase-chainedReadASE,
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.          PAGE14  Fascicle VIII.8 - Rec. X.519
  994.  
  995.                   id-ase-chainedSearchASE, id-ase-chainedModifyASE, id-as-acse,
  996.                   id-as-directoryAccessAS, id-as-directorySystemsAS;
  997.                IMPORTS
  998.                   id-ac, id-ase, id-as
  999.                   FROM     UsefulDefinitions
  1000.                            {joint-iso-ccitt ds(5) modules(1) usefulDefinitions(0)};
  1001.                -- Application Contexts --
  1002.                id-ac-directoryAccessAC OBJECT IDENTIFIER ::= {id-ac 1}
  1003.                id-ac-directorySystemAC OBJECT IDENTIFIER ::= {id-ac 2}
  1004.                -- ASEs --
  1005.                id-ase-readASE                OBJECT IDENTIFIER ::= {id-ase 1}
  1006.                id-ase-searchASE        OBJECT IDENTIFIER ::= {id-ase 2}
  1007.                id-ase-modifyASE        OBJECT IDENTIFIER ::= {id-ase 3}
  1008.                id-ase-chainedReadASE         OBJECT IDENTIFIER ::= {id-ase 4}
  1009.                id-ase-chainedSearchASE OBJECT IDENTIFIER ::= {id-ase 5}
  1010.                id-ase-chainedModifyASE OBJECT IDENTIFIER ::= {id-ase 6}
  1011.                -- ASs --
  1012.                id-as-directoryAccessAS OBJECT IDENTIFIER ::= {id-as 1}
  1013.                id-as-directorySystemAS OBJECT IDENTIFIER ::= {id-as 2}
  1014.                id-as-acse                    OBJECT IDENTIFIER ::=
  1015.                                        {joint-iso-ccitt association-control( )  abstract-
  1016.                          syntax(1) apdus(0)
  1017.                                        version1(1)}
  1018.                END
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.                                                       Fascicle VIII.8 - Rec. X.519   PAGE1
  1065.  
  1066.